use std::collections::HashMap;
use nalgebra::DMatrix;

pub enum Value{
    Bool(DMatrix<bool>),
    Double(DMatrix<f64>),
    Int(DMatrix<i64>),
    Uint(DMatrix<u64>),
    String(DMatrix<String>),
    CharArray(Vec<usize>),
    Struct(HashMap<String,Value>),
    Cell(),
    FunctionHandle{name:String,source:String}
}

pub struct State{
    values:HashMap<String,Value>
}

pub struct  Engine{
    state:State
}

#[cfg(test)]
mod test{
    use crate::parse_matlab_code;
    #[test]
    fn test(){
        let expr=parse_matlab_code("[1 2;3 4]");
        println!("{:?}",expr)
    }
}